package com.jumi.microservice.material.service;

import com.jumi.microservice.material.domain.JmCategory;
import com.jumi.microservice.material.dto.category.JmCategoryResponse;

import java.util.List;

/**
 * @author ssk
 * @create 2020/7/17 9:33
 **/
public interface JmCategoryService {
    /**
     * 保存方法
     * @param jmCategory
     * @return
     */
    int saveJmCategory(JmCategory jmCategory);
    /**
     * 查询是否含有数据条数
     * @param jmCategory
     * @return
     */
    int findCount(JmCategory jmCategory);
    /**
     * 更新方法
     * @param jmCategory
     * @return
     */
    int updateJmCategory(JmCategory jmCategory);

    /**
     * 根据id查询实体类
     * @param id
     * @return
     */
    JmCategory findById(Long id);

    /**
     * 根据条件查询实体类集合
     * @param jmCategory
     * @return
     */
    List<JmCategory> findAll(JmCategory jmCategory);

    /**
     * 根据id删除(假删除)
     * @param jmCategory
     * @return
     */
    int deleteById(JmCategory jmCategory);

    /**
     * 事务提交测试
     * @param jmCategory
     * @return
     */
    int saveAndUpdate(JmCategory jmCategory);

    /**
     * 批量删除(假删除)
     * @param jmCategory
     * @return
     */
    int deleteBatchByIds(JmCategory jmCategory);
    /*
    * 上下架
    * */
    int statusById(JmCategory jmCategory);

    /**
     * @Description: 根据分类ids查询分类列表
     * @Param categoryIds
     * @Return {@link List< JmCategoryResponse>}
     * @Throws
     * @Author Abel Yang
     * @Date 2020/8/20/020 13:30
    */
    List<JmCategoryResponse> findByCategoryIds(List<Long> categoryIds);
}
